package manager.auth.service;
import com.github.pagehelper.PageInfo;
import manager.auth.vo.*;
import java.util.List;
public interface UserPermissionService {
    /**
     * 查询用户
     * @param sysUserConditionVO
     * @return
     */
    PageInfo<SysUserVO> selectPageUser(SysUserConditionVO sysUserConditionVO);

    /**
     * 分页查询角色
     * @param sysRoleConditionVO
     * @return
     */
    PageInfo<SysRoleVO> selectPageRole(SysRoleConditionVO sysRoleConditionVO);

    /**
     * 分页查询权限
     * @param sysPermissionConditionVO
     * @return
     */
    List<SysPermissionVO> selectPagePermission(SysPermissionConditionVO sysPermissionConditionVO);

    /**
     * 不分页查询用户
     * @param sysUserVO
     * @return
     */
    List<SysUserVO> selectUser(SysUserVO sysUserVO);

    /**
     * 不分页查询角色
     * @param sysRoleVO
     * @return
     */
    List<SysRoleVO> selectRole(SysRoleVO sysRoleVO);

    /**
     * 不分页查询全权限
     * @param sysPermissionVO
     * @return
     */
    List<SysPermissionVO> selectPermission(SysPermissionVO sysPermissionVO);

    /**
     * 添加用户
     * @param sysUserVO
     */
    void addUser(SysUserVO sysUserVO);

    /**
     * 修改用户
     * @param sysUserVO
     */
    void updateUser(SysUserVO sysUserVO);

    /**
     * 删除用户
     * @param sysUserList
     */
    void deleteUser(List<SysUserVO> sysUserList);

    /**
     * 添加角色
     * @param sysRoleVO
     */
    void addRole(SysRoleVO sysRoleVO);

    /**
     * 修改角色
     * @param sysUserVO
     */
    void updateRole(SysRoleVO sysUserVO);

    /**
     * 删除角色
     * @param sysRoleList
     */
     void deleteRole(List<SysRoleVO> sysRoleList);

    /**
     * 添加权限
     * @param sysPermissionVO
     */
     void addPermission(SysPermissionVO sysPermissionVO);

    /**
     * 修改权限
     * @param sysPermissionVO
     */
     void updatePermission(SysPermissionVO sysPermissionVO);

    /**
     * 批量删除权限
     * @param sysPermissionList
     */
     void deletePermission(List<SysPermissionVO> sysPermissionList);

    /**
     * 添加用户角色关系
     * @param sysUserVOList
     */
     void addUserRoleRls(List<SysUserRoleVO> sysUserVOList);

    /**
     * 建立角色权限关系
     * @param sysRolePermissionVOList
     */
     void addRolePermissionRls(List<SysRolePermissionVO> sysRolePermissionVOList);

    /**
     * 获取用户角色
     * @param sysUserRoleVO
     * @return
     */
     List<SysUserRoleVO> getUserRoleRls(SysUserRoleVO sysUserRoleVO);

    /**
     * 查询角色权限
     * @param sysRolePermissionVO
     * @return
     */
     List<SysPermissionVO> getRolePermissionRls(SysRolePermissionVO sysRolePermissionVO);

    /**
     * 删除角色权限关系
     * @param sysRolePermissionVO
     */
     void deleteRolePermissionRls(SysRolePermissionVO sysRolePermissionVO);

    /**
     * 删除用户角色关系
     * @param sysUserRoleVO
     */
     void deleteUserRoleRls(SysUserRoleVO sysUserRoleVO);

    /**
     * 查询登录用户权限
     * @return
     */
     List<SysPermissionVO> getPermissionByUserId();

    void initPassword(SysUserVO sysUserVO);
}
